package com.jichangxiu.server.platform.service;

import com.jichangxiu.common.entity.bo.PageData;
import com.jichangxiu.framework.mybatis.BaseService;
import com.jichangxiu.server.platform.entity.dto.PlatformDictTypeQueryDto;
import com.jichangxiu.server.platform.entity.po.PlatformDictType;
import com.jichangxiu.server.platform.entity.vo.PlatformDictTypeAddVo;
import com.jichangxiu.server.platform.entity.vo.PlatformDictTypeEditVo;
import com.jichangxiu.server.platform.entity.vo.PlatformDictTypeQueryVo;

import javax.validation.constraints.NotBlank;
import java.util.List;

/**
 * PlatformDictTypeService:
 *
 * @author Jcx
 * @create 2023-03-08 21:17
 */
public interface PlatformDictTypeService extends BaseService<PlatformDictType> {

    /**
     * 新增字典类型
     *
     * @param platformDictTypeAddVo 字典类型视图对象
     * @return 是否成功
     */
    public Boolean add(PlatformDictTypeAddVo platformDictTypeAddVo);

    /**
     * 多选级联删除字典类型
     *
     * @param dictIdList 字典类型ID列表
     * @return 是否成功
     */
    public Boolean del(List<String> dictIdList);

    /**
     * 修改字典类型信息
     *
     * @param platformDictTypeEditVo 字典类型视图对象
     * @return 是否成功
     */
    public Boolean edit(PlatformDictTypeEditVo platformDictTypeEditVo);

    /**
     * 根据ID获取字典类型详情
     *
     * @param dictId 字典类型ID
     * @return 字典类型详情
     */
    public PlatformDictTypeQueryDto info(@NotBlank(message = "字典类型ID不能为空") String dictId);

    /**
     * 分页查询字典类型列表
     *
     * @param platformDictTypeQueryVo 字典类型视图对象
     * @return 分页字典类型列表
     */
    public PageData<PlatformDictTypeQueryDto> pageList(PlatformDictTypeQueryVo platformDictTypeQueryVo);

}
